<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><html lang="en">
<HEAD>

<meta name="copyright" content="Copyright (c) IBM Corporation and others 2000, 2011. This page is made available under license. For full details see the LEGAL in the documentation book that contains this page." >

<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=ISO-8859-1">
<META HTTP-EQUIV="Content-Style-Type" CONTENT="text/css">

<LINK REL="STYLESHEET" HREF="../book.css" CHARSET="ISO-8859-1" TYPE="text/css">
<TITLE>Runtime application model</TITLE>

<link rel="stylesheet" type="text/css" HREF="../book.css">
</HEAD>
<BODY BGCOLOR="#ffffff">
<H2>
Runtime application model</H2>
<p> The platform runtime provides an application container for controlling and executing
  applications.  The runtime application container implements the Application Admin 
  service specification included in the OSGi R7 specification.  The application container is 
  responsible for discovering all available applications and registering an
  <a href="https://docs.osgi.org/javadoc/osgi.cmpn/7.0.0/org/osgi/service/application/ApplicationDescriptor.html">
  ApplicationDescriptor</a> OSGi service for each application that is available.  An ApplicationDescriptor 
  service can be used to launch an application.  When an application is launched an 
  <a href="https://docs.osgi.org/javadoc/osgi.cmpn/7.0.0/org/osgi/service/application/ApplicationHandle.html">
  ApplicationHandle</a> OSGi service is registered to represent the instance of the running 
  application.  An ApplicationHandle service can be used to shutdown an application.
  See the <a href="https://docs.osgi.org/javadoc/osgi.cmpn/7.0.0/org/osgi/service/application/package-summary.html">org.osgi.service.application</a>
  package and the <a href="https://docs.osgi.org/specification/osgi.cmpn/7.0.0/service.application.html">Application Admin Specification</a> for more
  information.
</p>
<h3>
The default application
</h3>
<p>
A given Eclipse configuration may contain many products and applications.  An Eclipse configuration 
specifies a default application which is launched by the application container as soon as the platform 
runtime is up and running.  The default application can be specified by one of the following 
configuration options</p>
<ul>
<li><a href="../reference/misc/runtime-options.html#eclipseproduct">eclipse.product</a> - 
identifies the product to launch the platform runtime with. A product supplies branding information 
(window icons, title bar text etc.) as well as defining the default application to run.</li>
<li><a href="../reference/misc/runtime-options.html#eclipseapplication">eclipse.application</a> - 
identifies the application to launch the platform runtime with.  This option overrides default application 
defined by the product.</li>
</ul>

<h3>
Defining an application
</h3>
<p>
Plug-ins may define their own applications using the 
<a href="../reference/extension-points/org_eclipse_core_runtime_applications.html"><b>org.eclipse.core.runtime.applications</b></a> 
extension.  In this extension, the plug-in defines the name and ID of the application, as well a class that implements
the application.  The class which implements the application is used to launch and shutdown application instances.
</p>
</BODY>
</HTML>